﻿<?xml version="1.0"?>
<doc>
<assembly>
<name>
WRDBProviders
</name>
</assembly>
<members>
<member name="M:WRDB.DBProviders.MainModule.Is64BitProcess">
 <summary>
 Determine if is running as 64 bit process; will be false if running on 64-bit OS but is compiled for x86
 </summary>
 <returns></returns>
 <remarks></remarks>
</member>
<member name="M:WRDB.DBProviders.MainModule.Is64BitOperatingSystem">
 <summary>
 The function determines whether the current operating system is a 
 64-bit operating system.
 </summary>
 <returns>
 The function returns true if the operating system is 64-bit; 
 otherwise, it returns false.
 </returns>
</member>
<member name="M:WRDB.DBProviders.MainModule.DoesWin32MethodExist(System.String,System.String)">
 <summary>
 The function determins whether a method exists in the export table of 
 a certain module.
 </summary>
 <param name="moduleName">The name of the module</param>
 <param name="methodName">The name of the method</param>
 <returns>
 The function returns true if the method specified by methodName 
 exists in the export table of the module specified by moduleName.
 </returns>
</member>
<member name="M:WRDB.DBProviders.MainModule.Is64BitOperatingSystem(System.String,System.String,System.String,System.String)">
 <summary>
 The function determines whether the operating system of the current 
 machine of any remote machine is a 64-bit operating system through 
 Windows Management Instrumentation (WMI).
 </summary>
 <param name="machineName">
 The full computer name or IP address of the target machine. "." or 
 null means the local machine.
 </param>
 <param name="domain">
 NTLM domain name. If the parameter is null, NTLM authentication will 
 be used and the NTLM domain of the current user will be used.
 </param>
 <param name="userName">
 The user name to be used for the connection operation. If the user 
 name is from a domain other than the current domain, the string may 
 contain the domain name and user name, separated by a backslash: 
 string 'username' = "DomainName\\UserName". If the parameter is null, 
 the connection will use the currently logged-on user.
 </param>
 <param name="password">The password for the specified user.</param>
 <returns>
 The function returns true if the operating system is 64-bit; 
 otherwise, it returns false.
 </returns>
 <exception cref="T:System.Management.ManagementException">
 The ManagementException exception is generally thrown with the error 
 code: System.Management.ManagementStatus.InvalidParameter. You need 
 to check whether the parameters for ConnectionOptions (e.g. user 
 name, password, domain) are set correctly.
 </exception>
 <exception cref="T:System.Runtime.InteropServices.COMException">
 A common error accompanied with the COMException is "The RPC server 
 is unavailable. (Exception from HRESULT: 0x800706BA)". This is 
 usually caused by the firewall on the target machine that blocks the 
 WMI connection or some network problem.
 </exception>
</member>
<member name="M:WRDB.DBProviders.clsBlob.SaveBlob(WRDB.DBProviders.clsBlob.enumObjectType,System.String@,System.Byte[],System.DateTime)">
 <summary>
 Save data to standard file 
 </summary>
 <param name="ObjectType">Type of object to save</param>
 <param name="FileName">Name of file (for series types file extension will always be changed to assure it is .txt and passed back)</param>
 <param name="Data">File contents or series binary data</param>
 <param name="BaseDate">Reference data for computation of offsets; if equal to Date.MinValue is assumed to be null and will skip save</param>
</member>
<member name="M:WRDB.DBProviders.clsBlob.SaveBlob(System.String,System.String@,System.Byte[],System.DateTime)">
 <summary>
 Save data to standard file 
 </summary>
 <param name="ObjectName">Name of object to save</param>
 <param name="FileName">Name of file (for series types file extension will always be changed to assure it is .txt and passed back)</param>
 <param name="Data">File contents or series binary data</param>
 <param name="BaseDate">Reference data for computation of offsets; if equal to Date.MinValue is assumed to be null and will skip save</param>
</member>
<member name="M:WRDB.DBProviders.clsBlob.LoadBlob(WRDB.DBProviders.clsBlob.enumObjectType@,System.String,System.DateTime,System.Int32@)">
 <summary>
 Load data from standard file so can attach to table
 </summary>
 <param name="ObjectType">Type of object to load (note: if valueseries was attempted by reverted to timeseries, then will pass back revised type)</param>
 <param name="FileName">Name of file (if series type file extension will always be changed to assure it is .txt)</param>
 <param name="BaseDate">If series type, reference date for computation of offsets</param>
 <param name="NumRec">If series type, number of records loaded</param>
 <returns>Array of bytes (or Nothing if file does not exist)</returns>
</member>
<member name="T:WRDB.DBProviders.clsDBAccess">
 <summary>
 Access
 </summary>
 <remarks>
 Requires installation of MS Jet engine; this is almost always already done, but if not, run MDAC_TYP.EXE installer in Redist folder
 </remarks>
</member>
<member name="M:WRDB.DBProviders.clsDBAccess.Clone">
 <summary>
 Return a copy of the current generic connection
 </summary>
 <returns>Clone of current instance</returns>
</member>
<member name="M:WRDB.DBProviders.clsDBAccess.CreateConnection">
 <summary>
 Creates a provider-specific connection object given previously specified properties as required (DataSource, DatabaseName, UserName, Password, etc.)
 Note that the connection is normally automatically created when you instantiate the class
 </summary>
</member>
<member name="M:WRDB.DBProviders.clsDBAccess.CreateDatabase(System.String@)">
 <summary>
 Creates new database on the provider (uses supervisor access)
 </summary>
 <param name="DatabaseName">Desired name of new database</param>
 <returns>True if successful</returns>
</member>
<member name="P:WRDB.DBProviders.clsDBAccess.ADOXConnectionString">
 <summary>
 ADOX requires a connection string compatible with OLEDB: provide one
 </summary>
 <returns>ADOX connection string</returns>
</member>
<member name="M:WRDB.DBProviders.clsDBAccess.RepairDatabase(System.Boolean)">
 <summary>
 Perform database compaction/repair operation where supported
 </summary>
</member>
<member name="T:WRDB.DBProviders.clsDB">
 <summary>
 Base class for all data providers
 </summary>
 <remarks>
 The named data providers listed in enumDBType have specific formatting requirements
 When these can be handled in a way that does not require the provider's library to be 
 referenced (e.g., OleDB), then SELECT CASE statements will usually be used in this library
 to reduce the number of overridden methods required
 </remarks>
</member>
<member name="F:WRDB.DBProviders.clsDB.TempDBName">
 <summary>Name of temporary database used by some providers so can set project database readonly and yet create temporary tables</summary>
 <remarks>NOTE: ASSUMES THAT CLSPROJECT.TEMPDBNAME IS "TempDB"!!!</remarks>
</member>
<member name="M:WRDB.DBProviders.clsDB.BeginTransaction">
 <summary>
 Begin transaction grouping following delete, update, and insert commands (automatically called by those routines if not done here); do not include select and count queries in same transaction as insert/update/delete queries (SQLite limitation)
 </summary>
 <remarks></remarks>
</member>
<member name="M:WRDB.DBProviders.clsDB.EndTransaction(System.Data.Common.DbTransaction@,WRDB.DBProviders.clsDB.enumEndTransaction)">
 <summary>
 End prior transaction, either committing or rolling all operations back
 </summary>
 <param name="Trans">Transaction object created with BeginTransaction</param>
 <param name="EndTran">What to do with transaction operations</param>
 <remarks></remarks>
</member>
<member name="M:WRDB.DBProviders.clsDB.ExecuteNonQuery(System.String)">
 <summary>
 Execute a non-query against the database; if connection is closed, will open it; WILL close connection automatically; returns -2 if error occurs
 </summary>
 <param name="SqlString">Standard sql string</param>
 <returns>Number of affected records or -2 if error occurred</returns>
</member>
<member name="M:WRDB.DBProviders.clsDB.ExecuteNonQuery(System.String,System.Object[])">
 <summary>
 Execute a non-query against the database; if connection is closed, will open it; WILL close connection automatically
 </summary>
 <param name="SqlStringFormat">Format of standard sql string</param>
 <param name="Args">Format argument</param>
 <returns>Number of affected records or -2 if error occurred</returns>
</member>
<member name="M:WRDB.DBProviders.clsDB.ExecuteNonQuery(System.Data.Common.DbTransaction@,System.String,System.Object[])">
 <summary>
 Execute a non-query against the database; if connection is closed, will open it; will NOT close connection automatically
 This routine is used for multiple command execution
 </summary>
 <param name="Transaction">Transaction object</param>
 <param name="SqlStringFormat">Format of standard sql string</param>
 <param name="Args">Format argument</param>
 <returns>Number of affected records or -2 if error occurred</returns>
</member>
<member name="M:WRDB.DBProviders.clsDB.ExecuteNonQuery(System.Data.Common.DbTransaction@,System.String)">
 <summary>
 Execute a non-query against the database; if connection is closed, will open it; will NOT close connection automatically
 This routine is used for multiple command execution
 </summary>
 <param name="Transaction">Transaction object</param>
 <param name="SqlString">Format of standard sql string</param>
 <returns>Number of affected records or -2 if error occurred</returns>
</member>
<member name="M:WRDB.DBProviders.clsDB.ExecuteReader(System.Data.Common.DbTransaction@,System.String,System.Data.CommandBehavior)">
 <summary>
 Executes sql query and returns a fast reader
 </summary>
 <param name="Trans">Transaction object</param>
 <param name="SqlString">Standard sql string</param>
 <param name="CmdBehavior">Optional behavior parameter</param>
 <returns>Data Reader</returns>
</member>
<member name="M:WRDB.DBProviders.clsDB.ExecuteReader(System.Data.Common.DbTransaction@,System.String,System.Object[])">
 <summary>
 Executes sql query and returns a fast reader
 </summary>
 <param name="Trans">Transaction object</param>
 <param name="SqlStringFormat">Format of standard sql string</param>
 <param name="Args">Format argument</param>
 <returns>Data Reader</returns>
</member>
<member name="M:WRDB.DBProviders.clsDB.ExecuteReader(System.String,System.Data.CommandBehavior)">
 <summary>
 Executes sql query and returns a fast reader
 </summary>
 <param name="SqlString">Standard sql string</param>
 <param name="CmdBehavior">Optional behavior parameter</param>
 <returns>Data Reader</returns>
</member>
<member name="M:WRDB.DBProviders.clsDB.ExecuteReader(System.String,System.Object[])">
 <summary>
 Executes sql query and returns a fast reader
 </summary>
 <param name="SqlStringFormat">Format of standard sql string</param>
 <param name="Args">Format argument</param>
 <returns>Data Reader</returns>
</member>
<member name="M:WRDB.DBProviders.clsDB.ExecuteScalar(System.Data.Common.DbTransaction@,System.String)">
 <summary>
 Executes sql query that returns a single value; WILL NOT close connection automatically
 </summary>
 <param name="Trans">Transaction object (if Nothing, connection will be closed)</param>
 <param name="SqlString">Standard sql string</param>
 <returns>Result of sql query as object</returns>
</member>
<member name="M:WRDB.DBProviders.clsDB.ExecuteScalar(System.Data.Common.DbTransaction@,System.String,System.Object[])">
 <summary>
 Executes sql query that returns a single value; WILL NOT close connection automatically
 </summary>
 <param name="SqlStringFormat">Format of standard sql string</param>
 <param name="Args">Format argument</param>
 <returns>Result of sql query as object</returns>
</member>
<member name="M:WRDB.DBProviders.clsDB.ExecuteScalar(System.String)">
 <summary>
 Executes sql query that returns a single value; WILL close connection automatically
 </summary>
 <param name="SqlString">Standard sql string</param>
 <returns>Result of sql query as object</returns>
</member>
<member name="M:WRDB.DBProviders.clsDB.ExecuteScalar(System.String,System.Object[])">
 <summary>
 Executes sql query that returns a single value; WILL close connection automatically
 </summary>
 <param name="SqlStringFormat">Format of standard sql string</param>
 <param name="Args">Format argument</param>
 <returns>Result of sql query as object</returns>
</member>
<member name="M:WRDB.DBProviders.clsDB.IsSqlValid(System.String)">
 <summary>
 Test SQL string to see if the syntax is valid
 </summary>
 <param name="SqlString">Standard sql string</param>
</member>
<member name="M:WRDB.DBProviders.clsDB.IsSqlValid(System.String,System.Object[])">
 <summary>
 Test SQL string to see if the syntax is valid
 </summary>
 <param name="SqlStringFormat">Format of standard sql string</param>
 <param name="Args">Format argument</param>
 <returns>True if SQL string is valid, false otherwise</returns>
</member>
<member name="M:WRDB.DBProviders.clsDB.NullSQLString(System.String,System.String[])">
 <summary>
 Given a SQL string, change WHERE clause so that it will return no records and thus run very fast
 </summary>
 <param name="SqlStringFormat">Sql string (or string format statement used to build sql string)</param>
 <param name="Args">Arguments used to build sql string</param>
 <returns></returns>
 <remarks>Useful to test validity of SQL statement or to create datatable with correct structure but no records</remarks>
</member>
<member name="P:WRDB.DBProviders.clsDB.DLLPath">
 <summary>
 Get path to all WRDB DLLs so can dynamically load appropriate library (does not end in trailing \)
 </summary>
 <remarks>If ASP.Net, must set to Server.MapPath("~\bin") before using rest of routine</remarks>
</member>
<member name="M:WRDB.DBProviders.clsDB.EnumDataProviders">
 <summary>
 Returns a list of generic data provider names contained in the RootPath folder (or subfolder below it)
 Note that the DLLs must inherit DB.dll and thus will contain a class called clsDB; the filename must be
 formatted as DBxxx.dll; the namespace must also be a matching DBxxx; if the DLL directory cannot be found,
 will use the current appliation's directory
 5/6/11: rolled all providers into a single library, so just return all providers
 </summary>
 <returns>List of provider types</returns>
</member>
<member name="M:WRDB.DBProviders.clsDB.GetDataProvider(WRDB.DBProviders.clsDB.enumDBType,System.String,System.String,System.String,System.String,System.Int32)">
 <summary>
 Given valid name of data provider (see GetDataProviders), will create an instance of it and assign it to the baseclass name
 </summary>
 <param name="DatabaseType">Enumerated type of provider</param>
 <returns></returns>
 <remarks></remarks>
</member>
<member name="T:WRDB.DBProviders.clsDB.enumDBType">
 <summary>
 List of data providers supported by class
 </summary>
 <remarks>Only a subset of these are extensively tested</remarks>
</member>
<member name="F:WRDB.DBProviders.clsDB.enumDBType.Paradox">
 <summary>Corel/Borland Paradox file-based database (using Jet)</summary>
</member>
<member name="F:WRDB.DBProviders.clsDB.enumDBType.Access">
 <summary>Microsoft Access (mdb) embedded file-based database (using Jet)</summary>
 <remarks>Provided for backwards compatibility, however performance of Jet engine is rather poor</remarks>
</member>
<member name="F:WRDB.DBProviders.clsDB.enumDBType.SQL_Server">
 <summary>Microsoft SQLServer client-server databases including MSDE, SQL Express, etc.</summary>
 <remarks>Does NOT SQL_Server_CE support which doesn't provide SCHEMA commands, etc.</remarks>
</member>
<member name="F:WRDB.DBProviders.clsDB.enumDBType.SQL_Server_CE">
 <summary>Microsoft SQLServer Compact Edition 3.5</summary>
</member>
<member name="F:WRDB.DBProviders.clsDB.enumDBType.Oracle">
 <summary>Oracle client-server database</summary>
</member>
<member name="F:WRDB.DBProviders.clsDB.enumDBType.Firebird">
 <summary>Firebird open-source database (www.firebirdsql.org)--client-server version</summary>
</member>
<member name="F:WRDB.DBProviders.clsDB.enumDBType.Firebird_Embedded">
 <summary>Firebird open-source database (www.firebirdsql.org)--embedded file version</summary>
 <remarks>
 Requires embedded firebird engine 2.0 and .net provider (www.sourceforge.net). According to Readme notes:
 Just copy fbembed.dll, icudt30.dll, icuin30.dll and icuuc30.dll into the directory with your application.
 Then rename fbembed.dll to either fbclient.dll or gds32.dll depending on your database connectivity software.
 Then start your application and it will use the embedded server as a client library and will be able to access
 local datasases. You should also copy firebird.msg and firebird.conf (if necessary) to the same directory.
 
 In firebird.conf must set ExternalFileAccess = Full
 </remarks>
</member>
<member name="F:WRDB.DBProviders.clsDB.enumDBType.MySQL">
 <summary>MySQL open-source client-server database (www.mysql.com)</summary>
</member>
<member name="F:WRDB.DBProviders.clsDB.enumDBType.SQLite">
 <summary>SQLite open-source embedded database (www.sqlite.org)</summary>
</member>
<member name="E:WRDB.DBProviders.clsDB.Progress">
 <summary>
 Is raised during long operations (e.g., import/export) so caller can report using UI
 </summary>
 <param name="Value">Current value (must alway initialize with 0 and finalize with Value=MaxValue)</param>
 <param name="MaxValue">Maximum value</param>
 <param name="ProgressText">Text to display</param>
</member>
<member name="F:WRDB.DBProviders.clsDB._bwAddTable">
 <summary>
 Background object for queries so UI doesn't appear to freeze
 </summary>
</member>
<member name="F:WRDB.DBProviders.clsDB._bwExecuteNonQuery">
 <summary>
 Background object for queries so UI doesn't appear to freeze
 </summary>
</member>
<member name="F:WRDB.DBProviders.clsDB._bwExecuteScalar">
 <summary>
 Background object for queries so UI doesn't appear to freeze
 </summary>
</member>
<member name="F:WRDB.DBProviders.clsDB.dbCancelled">
 <summary>
 Set to true if caller wants to cancel long operation
 </summary>
</member>
<member name="F:WRDB.DBProviders.clsDB.dbConnection">
 <summary>
 Database connection object
 </summary>
</member>
<member name="F:WRDB.DBProviders.clsDB.dbDatabaseName">
 <summary>
 Name of database on server
 </summary>
 <remarks>Not used for embedded databases</remarks>
</member>
<member name="F:WRDB.DBProviders.clsDB.dbDataSource">
 <summary>
 String containing name of database file (for embedded databases) or server name (or IP address)
 </summary>
</member>
<member name="F:WRDB.DBProviders.clsDB.dbPassword">
 <summary>Password for protected databases</summary>
</member>
<member name="F:WRDB.DBProviders.clsDB.dbTimeout">
 <summary>Length of time (sec) for command timeout</summary>
</member>
<member name="F:WRDB.DBProviders.clsDB.dbTimeoutOverride">
 <summary>
 If non-zero, will use this timeout value to execute command
 </summary>
</member>
<member name="F:WRDB.DBProviders.clsDB.dbType">
 <summary>
 Database type
 </summary>
</member>
<member name="F:WRDB.DBProviders.clsDB.dbUserName">
 <summary>User name for protected databases</summary>
</member>
<member name="F:WRDB.DBProviders.clsDB._dt">
 <summary>
 Used to fill datatable on background thread so UI doesn't appear to freeze
 </summary>
</member>
<member name="F:WRDB.DBProviders.clsDB.IsQueryBusy">
 <summary>
 Can be used to prevent multiple queries from being run in background
 </summary>
</member>
<member name="F:WRDB.DBProviders.clsDB.QuerySQL">
 <summary>
 Last query string; used to report errors in background thread
 </summary>
</member>
<member name="M:WRDB.DBProviders.clsDB.AddTable(System.Data.DataSet@,System.String,System.String,System.Object[])">
 <summary>
 Adds new table to existing dataset containing records from sql query; 
 uses threading so progress dialog doesn't appear to freeze during long query
 </summary>
 <param name="DataSet">Existing or new dataset</param>
 <param name="TableName">Name of table to create or overwrite in dataset</param>
 <param name="SqlString">Standard sql string</param>
 <param name="Args">Optional arguments when SqlString contains formatting codes</param>
 <remarks>Connection is automatically opened and closed</remarks>
</member>
<member name="M:WRDB.DBProviders.clsDB.AddTableAdapter(System.Data.DataTable@,System.String,System.Object[])">
 <summary>
 Creates a new table containing records from sql query and returns the dataadapter (so can update later)
 </summary>
 <param name="Table">New datatable to be created</param>
 <param name="SqlString">Standard SQL string</param>
 <param name="Args">Optional arguments when SqlString contains formatting codes</param>
 <remarks>Connection is automatically opened and closed</remarks>
</member>
<member name="M:WRDB.DBProviders.clsDB.CreateAllCommands(System.Data.Common.DbDataAdapter)">
 <summary>
 Create all associated commands for data adapter
 </summary>
 <param name="db_da">Data adapter</param>
 <remarks>This was created for ARC application which is not reliably creating correct insert commands on the fly</remarks>
</member>
<member name="M:WRDB.DBProviders.clsDB.AddTable(System.Data.DataTable@,System.String,System.Object[])">
 <summary>
 Creates a new data table containing records from sql query (no restriction of number of rows allowed)
 </summary>
 <param name="SqlString">Standard SQL string</param>
 <param name="Args">Optional arguments when SqlString contains formatting codes</param>
 <remarks>Connection is automatically opened and closed</remarks>
</member>
<member name="M:WRDB.DBProviders.clsDB.AddTable(System.Data.DataSet@,System.String)">
 <summary>
 Adds new table to existing dataset containing all records in table; 
 uses threading so progress dialog doesn't appear to freeze during long query
 </summary>
 <param name="DataSet">Existing dataset</param>
 <param name="TableName">Name of table to create or overwrite in dataset</param>
 <remarks>Connection is automatically opened and closed</remarks>
</member>
<member name="M:WRDB.DBProviders.clsDB.AddTableAsync(System.Data.DataSet@,System.String,System.String)">
 <summary>
 Perform addtable operation in a background thread; call Cancel to cancel the thread immediately (CAN'T GET THIS TO WORK--DO NOT USE!)
 </summary>
 <param name="DataSet">Existing or new dataset</param>
 <param name="TableName">Name of table to create or overwrite in dataset</param>
 <param name="SqlString">Standard sql string</param>
 <remarks>Connection is automatically opened and closed</remarks>
</member>
<member name="M:WRDB.DBProviders.clsDB.AppendTable(System.String,System.String)">
 <summary>
 Append instantiated database table to existing table (which must exist and be compatible)
 Note: due to possibility of conflicting keys, this routine should only be called when the DestTable is empty
 If you need to append records, do an export then import 
 </summary>
 <param name="DestTable">Name of destination table</param>
 <param name="SourceTable">Name of source table</param>
 <returns>True if successful</returns>
</member>
<member name="M:WRDB.DBProviders.clsDB.BytesToString(System.Byte[])">
 <summary>
 Convert byte array to singles, then to semicolon-separated string
 </summary>
 <param name="b"></param>
 <returns></returns>
 <remarks>This may not be very compact, but it is human-readable</remarks>
</member>
<member name="M:WRDB.DBProviders.clsDB.Clone">
 <summary>
 Return a copy of the current generic connection
 </summary>
 <returns>Clone of current instance</returns>
 <remarks>
 Overrides will all look like this:
     Dim db As clsDB = New clsDB
     MyBase.CloneSelf(db)
     Return db
 </remarks>
</member>
<member name="M:WRDB.DBProviders.clsDB.CommandBuilder(System.Data.Common.DbDataAdapter)">
 <summary>
 Provider-independent access to CommandBuilder object
 </summary>
 <param name="da">Data adapter</param>
 <returns>CommandBuilder object specific to provider type</returns>
</member>
<member name="M:WRDB.DBProviders.clsDB.Concat">
 <summary>
 Return provider-specific string concatenation symbol for SQL queries
 </summary>
</member>
<member name="M:WRDB.DBProviders.clsDB.CreateDatabase(System.String@)">
 <summary>
 Creates new database on the provider (uses supervisor access)
 </summary>
 <param name="DatabaseName">Desired name of new database</param>
 <returns>True if successful</returns>
</member>
<member name="M:WRDB.DBProviders.clsDB.CastAs(System.String,WRDB.DBProviders.clsDB.enumCastType)">
 <summary>
 Return proper SQL string to cast field as specified type
 </summary>
 <param name="FieldName">Name of field to cast</param>
 <returns></returns>
 <remarks></remarks>
</member>
<member name="M:WRDB.DBProviders.clsDB.GetFieldList(System.Data.DataTable)">
 <summary>
 Return list of field names and specifications for each field in the template (e.g., TextField VARCHAR(12))
 suitable for create or alter table sql statement
 </summary>
 <param name="dtTemplate">Data table containing table structure</param>
</member>
<member name="M:WRDB.DBProviders.clsDB.UpgradeTable(System.String,System.Data.DataTable)">
 <summary>
 Upgrade existing table to use the latest schema, using structure contained in DataTable
 Note: can only upgrade for new fields, not changes in field structure
 Will not try to preserve field order!
 </summary>
 <param name="TableName">Name of existing table</param>
 <param name="dtTemplate">Data table containing table structure</param>
 <returns>True if successful (or table doesn't exist)</returns>
</member>
<member name="M:WRDB.DBProviders.clsDB.UpgradeTableBruteForce(System.String,System.Data.DataTable)">
 <summary>
 Upgrade existing table to use the latest schema, using structure contained in DataTable (brute force method)
 Use this routine in situations where provider doesn't support appropriate Add/Drop Column syntax
 </summary>
 <param name="TableName">Name of existing table</param>
 <param name="dtTemplate">Data table containing table structure</param>
 <returns>True if successful</returns>
</member>
<member name="M:WRDB.DBProviders.clsDB.UpdateRecordTimeStamp(System.String,System.String)">
 <summary>
 If table contains CREATE_UPDATE field, set all null values to current time; if it contains OWNER field, set to current username
 </summary>
 <param name="TableName">Name of existing table</param>
 <param name="WhereClause">Additional SQL "Where" criteria to further restrict the selection ("WHERE" need not be included)</param>
 <returns>True if successful (or table doesn't include field)</returns>
 <remarks>Note: because of way SQLite stores dates, you must always use parameters when storing dates in tables</remarks>
</member>
<member name="M:WRDB.DBProviders.clsDB.CheckTableStructure(System.String,System.Data.DataTable)">
 <summary>
 Determine if structure of table is identical to that of template (only checks field names, and doesn't check if RecID is different for Paradox tables)
 </summary>
 <param name="TableName">Name of existing table</param>
 <param name="dtTemplate">Table template</param>
 <returns>True if field names exactly match</returns>
 <remarks>Legacy Paradox tables don't contain RecID, Agency, or Create_Update fields; don't flag this as an error</remarks>
</member>
<member name="M:WRDB.DBProviders.clsDB.UpgradeDataTable(System.String,System.Data.DataTable)">
 <summary>
 Upgrade existing table to use the latest schema, using structure contained in DataTable
 Note: can only upgrade for new fields, not changes in field structure
 </summary>
 <param name="TableName">Name of existing table</param>
 <param name="dtTemplate">Table template</param>
 <returns>True if successful (or table doesn't exist)</returns>
</member>
<member name="M:WRDB.DBProviders.clsDB.CreateTable(System.String@,System.Data.DataTable)">
 <summary>
 Create table if it doesn't already exist, using structure contained in DataTable
 </summary>
 <param name="TableName">Desired name of table</param>
 <param name="dtTemplate">Data table containing table structure</param>
 <returns>True if successful</returns>
</member>
<member name="M:WRDB.DBProviders.clsDB.CreateTable(System.String@,System.String[],WRDB.DBProviders.clsDB.enumColType[])">
 <summary>
 Create table if it doesn't already exist, using structure defined in arguments (as when tables need to be created on the fly for reports)
 </summary>
 <param name="TableName">Desired name of table</param>
 <param name="ColumnNames">Array of column names</param>
 <param name="ColumnTypes">Array of column types</param>
 <returns>True if successful</returns>
 <remarks>Note: string columns are always given a length of 255 characters</remarks>
</member>
<member name="M:WRDB.DBProviders.clsDB.CreateTable(System.Data.DataTable@,System.String[],WRDB.DBProviders.clsDB.enumColType[],System.String)">
 <summary>
 Create datatable using structure defined in arguments (as when tables need to be created on the fly for reports) and fill with data identified in SQL string
 </summary>
 <param name="DT">Datatable to create and store data in</param>
 <param name="ColumnNames">Array of column names</param>
 <param name="ColumnTypes">Array of column types</param>
 <param name="SqlString">Query string as source of data</param>
 <returns>True if successful</returns>
 <remarks>Will load all results from query into in-memory table which will take longer for some reports</remarks>
</member>
<member name="M:WRDB.DBProviders.clsDB.DataAdapter(System.String)">
 <summary>
 Return a data adapter for the current connection containing data from sql string
 </summary>
 <param name="SqlString">standard sql string</param>
 <returns>Data Adapter</returns>
</member>
<member name="M:WRDB.DBProviders.clsDB.ValueList(System.Object[])">
 <summary>
 Create comma-separated value list from set of parameters
 </summary>
 <param name="ObjList">String parameters</param>
 <returns>CSV list suitable for Insert or Update SQL statement</returns>
</member>
<member name="M:WRDB.DBProviders.clsDB.DateTime(System.Object)">
 <summary>
 Return provider-specific date-time string for SQL queries
 </summary>
 <param name="DateTimeValue">Date-time to convert (may pass null value)</param>
 <remarks>Because of way SQLite stores dates, should be careful using this function to store date values in table (parameters are better)</remarks>
</member>
<member name="M:WRDB.DBProviders.clsDB.TextString(System.Object)">
 <summary>
 Return provider-specific text string for SQL queries
 </summary>
 <param name="Text">Text string to convert</param>
</member>
<member name="M:WRDB.DBProviders.clsDB.TextString(System.Object,System.Int32)">
 <summary>
 Return provider-specific text string for SQL queries; limit the length
 </summary>
 <param name="Text">Text string to convert</param>
</member>
<member name="M:WRDB.DBProviders.clsDB.Numeric(System.Object)">
 <summary>
 Return provider-specific numeric string for SQL queries
 </summary>
 <param name="Value">Numeric value to convert</param>
</member>
<member name="M:WRDB.DBProviders.clsDB.Logical(System.Object)">
 <summary>
 Provider handle logicals differently; this will return proper way to represent true/false in SQL queries
 </summary>
 <param name="True_False">True or False</param>
</member>
<member name="M:WRDB.DBProviders.clsDB.DateFormat(System.String)">
 <summary>
 Return provider-specific SQL syntax to convert date-time to MM/DD/YYYY date format
 </summary>
 <param name="DateTimeFieldName">Name of field to convert</param>
</member>
<member name="M:WRDB.DBProviders.clsDB.DateFormat(System.String,WRDB.DBProviders.clsDB.enumDateFormat)">
 <summary>
 Return provider-specific SQL syntax to convert date-time to desired date format; this is used by LSPC cross tab to consolidate data by month
 </summary>
 <param name="DateTimeFieldName">Name of field to convert</param>
</member>
<member name="M:WRDB.DBProviders.clsDB.NumberFormat(System.String,System.Int32)">
 <summary>
 Return provider-specific SQL syntax to convert numeric to string format
 </summary>
 <param name="NumericFieldName">Name of field to convert</param>
 <param name="NumDecimals">Number of decimal places for format</param>
</member>
<member name="M:WRDB.DBProviders.clsDB.ExportTable(System.String,System.String@,System.String,System.Boolean)">
 <summary>
 Create tab-delimited text file and export table to it
 </summary>
 <param name="TableName">Name of table to export</param>
 <param name="ExportFileName">Name of file to export to (if blank, will export to temp file and return name here; caller must place in clipboard and delete tempfile)</param>
 <param name="SQLString">If provided, uses SQL statement to select data to be exported</param>
 <returns>True if export successful</returns>
 <remarks>Override for Paradox</remarks>
</member>
<member name="M:WRDB.DBProviders.clsDB.FullTableName(System.String)">
 <summary>
 Return tablename enclosed in brackets (if applicable) suitable for SQL statements; if tablename is subselect, no changes are made
 </summary>
 <param name="TblName">Name of table</param>
</member>
<member name="M:WRDB.DBProviders.clsDB.TableName(System.String)">
 <summary>
 Return standard table name without brackets, etc.
 </summary>
 <param name="FullTableName">Full table name with brackets, etc.</param>
</member>
<member name="M:WRDB.DBProviders.clsDB.GetColumnList(System.String)">
 <summary>
 Return a list of columns for this table in the order they appear in the table (all fields are converted to UPPERCASE)
 </summary>
 <param name="TableName">Name of table</param> 
 <returns></returns>
 <remarks>Override for Paradox</remarks>
</member>
<member name="M:WRDB.DBProviders.clsDB.GetIndexList(System.String)">
 <summary>
 Return list of indexed columns for this table (all fields are converted to UPPERCASE)
 </summary>
 <param name="TableName">Name of table</param>
 <returns>List of indexed fields (not including RecID) or Nothing if error occurred</returns>
</member>
<member name="M:WRDB.DBProviders.clsDB.GetRecordCount(System.String)">
 <summary>
 Determine the number of records in a table by starting a new thread (using default timeout of 10 sec)
 </summary>
 <param name="TableName">Name of table</param>
 <returns>Number of records (if timeout occurs, will return -1)</returns>
</member>
<member name="M:WRDB.DBProviders.clsDB.GetRecordCount(System.String,System.Int32)">
 <summary>
 Determine the number of records in a table by starting a new thread
 </summary>
 <param name="TableName">Name of table</param>
 <returns>Number of records (if timeout occurs, will return -1)</returns>
 <param name="CommandTimeout">Number of seconds before timeout exception occurs (may be ignored by MySQL)</param>
</member>
<member name="M:WRDB.DBProviders.clsDB.GetRecordList(System.String,System.String,System.String)">
 <summary>
 Return a sorted list of unique values from a specified field in a table. This is useful for getting key field values
 </summary>
 <param name="TableName">Table name to query</param>
 <param name="ColumnName">Column (field) to return</param>
 <param name="WhereClause">Additional SQL "Where" criteria to further restrict the selection (must include "WHERE")</param>
</member>
<member name="M:WRDB.DBProviders.clsDB.GetReservedWords">
 <summary>
 Return a list of reserved words for this provider
 </summary>
</member>
<member name="M:WRDB.DBProviders.clsDB.GetShortName(System.String)">
 <summary>
 Return short name for path (without spaces, and does not require quotes on command line)
 </summary>
</member>
<member name="M:WRDB.DBProviders.clsDB.GetDatabaseList">
 <summary>
 Return list of databases available on the server
 </summary>
 <returns>List of database names</returns>
</member>
<member name="M:WRDB.DBProviders.clsDB.GetTableList">
 <summary>
 Return a list of  tables for this project (converted to Proper case)
 </summary>
 <returns>List of table names</returns>
</member>
<member name="M:WRDB.DBProviders.clsDB.GetValidObjectName(System.String)">
 <summary>
 Using object naming rules for each provider, take input object name and return suggested name that meets rules
 </summary>
 <param name="ObjectName">Table, column, etc. name</param>
 <returns>Corrected name</returns>
</member>
<member name="M:WRDB.DBProviders.clsDB.GetValidTableName(System.String)">
 <summary>
 Interpret each provider's rules to return an automatically generated valid table name
 </summary>
 <param name="TableName">Desired table name</param>
 <returns>Corrected tablename, with illegal characters substituted by _</returns>
</member>
<member name="M:WRDB.DBProviders.clsDB.GetViewList">
 <summary>
 Return a list of views for this project
 </summary>
 <returns>List of view names</returns>
</member>
<member name="M:WRDB.DBProviders.clsDB.ImportTable(System.String@,System.String,System.Data.DataTable,System.Boolean,System.Boolean)">
 <summary>
 Import data from tab-delimited file into table; if table exists, will be emptied first (or updated), if not will be created
 The file format is assumed to be identical to the export format (i.e., tab-delimited with first column containing WRDB
 field names). The field names don't need to be in a specific order, and extra and missing fields are handled properly.
 </summary>
 <param name="TableName">New table to import data into</param>
 <param name="ImportFileName">Tab-delimited text file to import data from</param>
 <param name="dtTemplate">Data table containing structure of table to import to</param> 
 <param name="Append_Update">If false, existing table will be emptied first; otherwise will be appended to or replaced on record-by-record basis (if indexed)</param>
 <param name="AppendOnly">If Append_Update is true and AppendOnly is true, will not replace existing records with new records</param>
 <returns>True if successful</returns>
 <remarks>
 Override for Paradox and Excel; if RECID field exists in table, will be preserved and auto-updated; if not, will not be added (unless is Paradox);
 Note that import/export files are always culture neutral meaning that format will be same regardless of culture setting on computer 
 so will not have a problem if backups are created in one language (number format) but restored in another. The down side is that exported
 text files may not be as useful for import to Excel, etc.</remarks>
</member>
<member name="M:WRDB.DBProviders.clsDB.IsPrimaryKey(System.Data.DataTable,System.Int32)">
 <summary>
 Determine is specified column is a primary key
 </summary>
 <param name="dt">Data table containing structure</param>
 <param name="columnNum">Index of column being checked</param>
 <returns>True is if primary key column</returns>
</member>
<member name="M:WRDB.DBProviders.clsDB.IsPrimaryKey(System.Data.DataTable,System.Data.DataColumn)">
 <summary>
 Determine is specified column is a primary key
 </summary>
 <param name="dt">Data table containing structure</param>
 <param name="column">Column being checked</param>
 <returns>True is if primary key column</returns>
</member>
<member name="M:WRDB.DBProviders.clsDB.Parameter(System.Data.Common.DbCommand@,System.String,System.Type,System.Int16)">
 <summary>
 Create a parameter (used to speed up queries and updates); value is initialized to dbnull
 </summary>
 <param name="ParameterName">name of parameter (usually field name)</param>
 <param name="DataType">need to work on this to standarize</param>
 <param name="Size">size if appropriate (strings)</param>
 <returns>Data Parameter</returns>
</member>
<member name="M:WRDB.DBProviders.clsDB.ParameterName(System.String)">
 <summary>
 Return name of parameter used in SQL queries
 </summary>
 <param name="ColumnName">Name of column</param>
 <returns>Parameter name</returns>
 <remarks>Already handled for all provider types except Other</remarks>
</member>
<member name="M:WRDB.DBProviders.clsDB.AddBrackets(System.String)">
 <summary>
 Add brackets that may be needed to allow reserved words for field or tablenames
 </summary>
 <param name="fieldlist">Table or field name (or can pass comma-separated list of fields)</param>
</member>
<member name="M:WRDB.DBProviders.clsDB.RemoveBrackets(System.String)">
 <summary>
 Remove brackets that may have been placed around tablenames to facilitate SQL queries.
 </summary>
 <param name="s">Table name that may contain brackets</param>
 <remarks>This is needed to get filename back for some file operations</remarks>
</member>
<member name="M:WRDB.DBProviders.clsDB.RecordID">
 <summary>
 SQL fragment that can be used to return the record number in a table or view (only needed for Open External Database Table)
 </summary>
</member>
<member name="M:WRDB.DBProviders.clsDB.RenameTable(System.String,System.String,System.Data.DataTable)">
 <summary>
 Rename table in current project
 </summary>
 <param name="OldName">Name of existing table (must already exist)</param>
 <param name="NewName">New name for table (must not already exist)</param>
 <param name="dtTemplate">Only needed for Firebird override since it can't to a rename</param>
 <returns>True if successful</returns>
 <remarks>Must override for SQL Server, Access, and Firebird</remarks>
</member>
<member name="M:WRDB.DBProviders.clsDB.SaveTable(System.String,System.Data.DataTable)">
 <summary>
 Given a datatable, instantiate a new database table
 </summary>
 <param name="TableName">Name of new table (if exists, will be overwritten)</param>
 <param name="dt">Datatable to instantiate</param>
 <returns>True if successful</returns>
</member>
<member name="M:WRDB.DBProviders.clsDB.StringToBytes(System.String)">
 <summary>
 Convert semicolon-separated list of singles to byte array
 </summary>
 <param name="s"></param>
 <returns></returns>
 <remarks></remarks>
</member>
<member name="M:WRDB.DBProviders.clsDB.TableExists(System.String)">
 <summary>
 Determine if table exists in the database
 </summary>
 <param name="TblName">Name of table (case is ignored)</param>
 <returns>True if exists</returns>
 <remarks>Override for Paradox</remarks>
</member>
<member name="M:WRDB.DBProviders.clsDB.TableExists(System.String[])">
 <summary>
 Determine if all tables exist in the database
 </summary>
 <param name="TableNames">Names of tables</param>
 <returns>True if exists</returns>
 <remarks>Override for Paradox</remarks>
</member>
<member name="M:WRDB.DBProviders.clsDB.ViewExists(System.String)">
 <summary>
 Determine if view exists in the database; if not (or if database type doesn't support views, returns false)
 </summary>
 <param name="ViewName">Name of view</param>
 <returns>True if exists</returns>
</member>
<member name="M:WRDB.DBProviders.clsDB.ViewExists(System.String[])">
 <summary>
 Determine if view exists in the database; if not (or if database type doesn't support views, returns false)
 </summary>
 <param name="ViewNames">Names of views</param>
 <returns>True if exists</returns>
</member>
<member name="M:WRDB.DBProviders.clsDB.IsTableIndexed(System.String)">
 <summary>
 Examine schema and determine if any columns are indexed
 </summary>
 <param name="TableName">Name of table</param>
 <returns>True if table is indexed</returns>
</member>
<member name="M:WRDB.DBProviders.clsDB.IsPrimaryKeyRequired">
 <summary>
 If table requires a primary key to be present to update the table, return true
 </summary>
</member>
<member name="M:WRDB.DBProviders.clsDB.TestConnection">
 <summary>
 Try to connect to specified provider's database; return True if successful
 </summary>
</member>
<member name="M:WRDB.DBProviders.clsDB.TestConnectionQuick(System.Int32)">
 <summary>
 Use background thread to more quickly timeout a connection attempt
 </summary>
 <param name="TimeOut">The amount of time in seconds before timeout occurs</param>
 <remarks></remarks>
</member>
<member name="M:WRDB.DBProviders.clsDB.UCase">
 <summary>
 Handle different syntax for the uppercase function in SQL
 </summary>
 <returns>Correct function name for converting to upper case</returns>
</member>
<member name="M:WRDB.DBProviders.clsDB.CaseSQL(System.String[])">
 <summary>
 Form standard SQL for CASE WHEN THEN ELSE END sequence
 </summary>
 <param name="whenthenclauses">Pairs of when, then strings; if odd number, last parameter is else/default string</param>
 <returns>Properly formatted SQL string</returns>
</member>
<member name="M:WRDB.DBProviders.clsDB.bwExecuteNonQuery_DoWork(System.Object,System.ComponentModel.DoWorkEventArgs)">
 <summary>
 Starts query on background thread
 </summary>
</member>
<member name="M:WRDB.DBProviders.clsDB.bwExecuteNonQuery_RunWorkerCompleted(System.Object,System.ComponentModel.RunWorkerCompletedEventArgs)">
 <summary>
 Called when background thread is complete
 </summary>
</member>
<member name="M:WRDB.DBProviders.clsDB.bwExecuteScalar_DoWork(System.Object,System.ComponentModel.DoWorkEventArgs)">
 <summary>
 Starts query on background thread
 </summary>
</member>
<member name="M:WRDB.DBProviders.clsDB.bwExecuteScalar_RunWorkerCompleted(System.Object,System.ComponentModel.RunWorkerCompletedEventArgs)">
 <summary>
 Called when background thread is complete
 </summary>
</member>
<member name="M:WRDB.DBProviders.clsDB.CloneSelf(WRDB.DBProviders.clsDB@)">
 <summary>
 This is called by inheritor's Overridden Clone method
 </summary>
 <param name="DB">Cloned instance of DB</param>
</member>
<member name="M:WRDB.DBProviders.clsDB.CreateConnection">
 <summary>
 Creates a provider-specific connection object given previously specified properties as required (DataSource, DatabaseName, UserName, Password, etc.)
 Note that the connection is normally automatically created when you instantiate the class
 </summary>
</member>
<member name="M:WRDB.DBProviders.clsDB.CreateIndex(System.String,System.String,System.Data.DataTable)">
 <summary>
 Create index in the database
 </summary>
 <param name="TableName">Name of table</param>
 <param name="ColumnName">Name of column</param>
</member>
<member name="M:WRDB.DBProviders.clsDB.DropIndex(System.String,System.String,System.Data.DataTable)">
 <summary>
 Delete index in the database
 </summary>
 <param name="TableName">Name of table</param>
 <param name="ColumnName">Name of column</param>
</member>
<member name="M:WRDB.DBProviders.clsDB.HasTablePermissions">
 <summary>
 Determine if current database user has table edit permissions (create, drop, alter); this is only done for client/server providers which might be used for Enterprise WRDB (to improve performance)
 </summary>
 <returns>True if can create/drop/alter table schema</returns>
 <remarks>Don't call CreateTable, etc. routines so can avoid exception stops during testing</remarks>
</member>
<member name="M:WRDB.DBProviders.clsDB.SupportsViews">
 <summary>
 Does this database type support views?
 </summary>
</member>
<member name="M:WRDB.DBProviders.clsDB.SupportsSubqueries">
 <summary>
 Does this database type support subqueries?
 </summary>
</member>
<member name="M:WRDB.DBProviders.clsDB.DropTable(System.String)">
 <summary>
 Delete table in the database (also drops view if it exists)
 </summary>
 <param name="TableName">Name of table</param>
</member>
<member name="M:WRDB.DBProviders.clsDB.DropView(System.String)">
 <summary>
 Delete view in the database
 </summary>
 <param name="ViewName">Name of view</param>
</member>
<member name="M:WRDB.DBProviders.clsDB.dt_RowChanged(System.Object,System.Data.DataRowChangeEventArgs)">
 <summary>
 Will stop the fill operation if the user cancels (ignored by SQLite and gives error for Firebird)
 </summary>
</member>
<member name="M:WRDB.DBProviders.clsDB.RepairDatabase(System.Boolean)">
 <summary>
 Perform database compaction/repair operation where supported; if not overridden assumes cannot be repaired
 </summary>
 <param name="Interactive">If true (and Paradox) will open repair utility for interactive use</param>
</member>
<member name="P:WRDB.DBProviders.clsDB.CommandTimeout">
 <summary>Length of time (sec) for command to timeout and throw error</summary>
</member>
<member name="P:WRDB.DBProviders.clsDB.CommandTimeoutOverride">
 <summary>Length of time (sec) for command to timeout and throw error (only applies to a single query then resets itself)</summary>
</member>
<member name="P:WRDB.DBProviders.clsDB.Connection">
 <summary>
 Database connection object
 </summary>
</member>
<member name="P:WRDB.DBProviders.clsDB.DatabaseName">
 <summary>
 Name of database on server
 </summary>
 <remarks>Not used for embedded databases--will return empty string</remarks>
</member>
<member name="P:WRDB.DBProviders.clsDB.DatabaseType">
 <summary>
 List of data providers supported by WRDB
 </summary>
 <remarks>Only a subset of these are extensively tested</remarks>
</member>
<member name="P:WRDB.DBProviders.clsDB.DataSource">
 <summary>
 String containing name of database file (for embedded databases) or server name (or IP address)
 </summary>
</member>
<member name="P:WRDB.DBProviders.clsDB.Password">
 <summary>Password for protected databases</summary>
</member>
<member name="P:WRDB.DBProviders.clsDB.UserName">
 <summary>User name for protected databases</summary>
</member>
<member name="M:WRDB.DBProviders.clsDB.Proper(System.String)">
 <summary>
 Capitalize first character and any characters following a space,|,\,;,.,_,(
 If string is not all lowercase, will just return the original string
 </summary>
</member>
<member name="M:WRDB.DBProviders.clsDB.MyNumber(System.String)">
 <summary>
 Given real number string in culture-invariant format, return value (use in place of CDate)
 </summary>
 <param name="Number">Culture-invariant number format like 1,234.56</param>
 <returns></returns>
 <remarks>Useful when running in non-US culture</remarks>
</member>
<member name="M:WRDB.DBProviders.clsDB.ArrayToCSV(System.String[],System.Boolean)">
 <summary>
 Convert list of strings to comma-delimited string
 </summary>
 <param name="ar">String items to concatenate</param>
 <param name="AddTextDelimiters">If true, single tick marks will surround each list item</param>
</member>
<member name="M:WRDB.DBProviders.clsDB.ArrayToCSV(System.Collections.Generic.List{System.String},System.Boolean)">
 <summary>
 Convert list of strings to comma-delimited string
 </summary>
 <param name="List">String items to concatenate</param>
 <param name="AddTextDelimiters">If true, single tick marks will surround each list item</param>
</member>
<member name="T:WRDB.DBProviders.clsSQLParser">
 <summary>
 This is a poor-man's SQL Parser; will only work with selected simple queries
 </summary>
</member>
<member name="P:WRDB.DBProviders.clsSQLParser.Fields">
 <summary>Comma-separated list of fields</summary>
</member>
<member name="P:WRDB.DBProviders.clsSQLParser.From">
 <summary>Full table reference including alias and JOINS or subselect string with alias</summary>
</member>
<member name="P:WRDB.DBProviders.clsSQLParser.Table">
 <summary>First tablename in table reference or subselect</summary>
</member>
<member name="P:WRDB.DBProviders.clsSQLParser.Where">
 <summary>Contents of WHERE clause</summary>
</member>
<member name="P:WRDB.DBProviders.clsSQLParser.OrderBy">
 <summary>Contents of ORDER BY clause</summary>
</member>
<member name="P:WRDB.DBProviders.clsSQLParser.GroupBy">
 <summary>Contents of GROUP BY clause</summary>
</member>
<member name="P:WRDB.DBProviders.clsSQLParser.Having">
 <summary>Contents of HAVING clause</summary>
</member>
<member name="P:WRDB.DBProviders.clsSQLParser.LastParseError">
 <summary>If ParseSelect returns false this explains why</summary>
</member>
<member name="P:WRDB.DBProviders.clsSQLParser.ParseErrors">
 <summary>If ParseSelect returns false this explains why</summary>
</member>
<member name="M:WRDB.DBProviders.clsSQLParser.QueryType">
 <summary>
 Return type of of SQL statement or parsing error info
 </summary>
 <returns>Use LastParseError to learn details if return PareseError</returns>
</member>
<member name="M:WRDB.DBProviders.clsSQLParser.ParseSelect">
 <summary>
 Parse the select query and populate the clause contents as appropriate
 </summary>
 <returns></returns>
 <remarks>Will strip off all clause identifiers (e.g., WHERE); ORDER BY and GROUP BY must only have one space separating</remarks>
</member>
<member name="M:WRDB.DBProviders.clsSQLParser.ParsePhrase(System.Int32@,System.String[],System.String[])">
 <summary>
 Extract next portion of SQL string up until specified keyword if found or end of string
 </summary>
 <param name="tokenNum">Token index (positioned at token like FROM, WHERE, etc)</param>
 <param name="IgnoredTokens">List of tokens that will be ignored (must be upper case)</param>
 <param name="FollowingTokens">List of tokens that can terminate phrase (must be upper case)</param>
 <returns>Phrase</returns>
</member>
<member name="T:WRDB.DBProviders.clsDBFirebird">
 <summary>Firebird open-source database (www.firebirdsql.org)</summary>
 <remarks>
 Embedded file version requires embedded firebird engine 2.0 and .net provider FirebirdSql.Data.FirebirdClient.dll (www.sourceforge.net). According to Readme notes:
 Just copy fbembed.dll, icudt30.dll, icuin30.dll and icuuc30.dll into the directory with your application.
 Then rename fbembed.dll to either fbclient.dll or gds32.dll depending on your database connectivity software. (note: this doesn't appear to be necessary)
 Then start your application and it will use the embedded server as a client library and will be able to access
 local datasases. You should also copy firebird.msg and firebird.conf (if necessary) to the same directory.
 
 In firebird.conf must set ExternalFileAccess = Full
 
 For the client server version, all database files are stored on the root directory or the server with extension .fdb
 The default administrative login is sysdba/masterkey
 </remarks>
</member>
<member name="P:WRDB.DBProviders.clsDBFirebird.DatabaseType">
 <summary>
 List of data providers supported by WRDB
 </summary>
 <remarks>Only a subset of these are extensively tested</remarks>
</member>
<member name="M:WRDB.DBProviders.clsDBFirebird.Clone">
 <summary>
 Return a copy of the current generic connection
 </summary>
 <returns>Clone of current instance</returns>
</member>
<member name="M:WRDB.DBProviders.clsDBFirebird.CommandBuilder(System.Data.Common.DbDataAdapter)">
 <summary>
 Provider-independent access to CommandBuilder object
 </summary>
 <param name="da">Data adapter</param>
 <returns>CommandBuilder object specific to provider type</returns>
</member>
<member name="M:WRDB.DBProviders.clsDBFirebird.DataAdapter(System.String)">
 <summary>
 Return a data adapter for the current connection containing data from sql string
 </summary>
 <param name="SqlString">standard sql string</param>
 <returns>Data Adapter</returns>
</member>
<member name="M:WRDB.DBProviders.clsDBFirebird.Parameter(System.Data.Common.DbCommand@,System.String,System.Type,System.Int16)">
 <summary>
 Create a parameter (used to speed up queries and updates); value is initialized to dbnull
 </summary>
 <param name="ParameterName">name of parameter (usually field name)</param>
 <param name="DataType">need to work on this to standarize</param>
 <param name="Size">size if appropriate (strings)</param>
 <returns>Data Parameter</returns>
</member>
<member name="M:WRDB.DBProviders.clsDBFirebird.CreateConnection">
 <summary>
 Creates a provider-specific connection object given previously specified properties as required (DataSource, DatabaseName, UserName, Password, etc.)
 Note that the connection is normally automatically created when you instantiate the class
 </summary>
</member>
<member name="M:WRDB.DBProviders.clsDBFirebird.CreateDatabase(System.String@)">
 <summary>
 Creates new database on the provider (uses supervisor access)
 </summary>
 <param name="DatabaseName">Desired name of new database</param>
 <returns>True if successful</returns>
</member>
<member name="M:WRDB.DBProviders.clsDBFirebird.FirebirdBackupDone(System.Object,FirebirdSql.Data.Services.ServiceOutputEventArgs)">
 <summary>
 This handler is used to know when the backup and restore operations are done
 </summary>
 <param name="sender"></param>
 <param name="e"></param>
 <remarks></remarks>
</member>
<member name="M:WRDB.DBProviders.clsDBFirebird.RepairDatabase(System.Boolean)">
 <summary>
 Perform database compaction/repair operation where supported
 </summary>
</member>
<member name="T:WRDB.DBProviders.clsDBMySQL">
 <summary>
 MySQL
 </summary>
 <remarks>
 References: MySql.Data.dll
 The default administrative login is root/(no default password)
 </remarks>
</member>
<member name="M:WRDB.DBProviders.clsDBMySQL.Clone">
 <summary>
 Return a copy of the current generic connection
 </summary>
 <returns>Clone of current instance</returns>
</member>
<member name="M:WRDB.DBProviders.clsDBMySQL.CommandBuilder(System.Data.Common.DbDataAdapter)">
 <summary>
 Provider-independent access to CommandBuilder object
 </summary>
 <param name="da">Data adapter</param>
 <returns>CommandBuilder object specific to provider type</returns>
</member>
<member name="M:WRDB.DBProviders.clsDBMySQL.DataAdapter(System.String)">
 <summary>
 Return a data adapter for the current connection containing data from sql string
 </summary>
 <param name="SqlString">standard sql string</param>
 <returns>Data Adapter</returns>
</member>
<member name="M:WRDB.DBProviders.clsDBMySQL.Parameter(System.Data.Common.DbCommand@,System.String,System.Type,System.Int16)">
 <summary>
 Create a parameter (used to speed up queries and updates); value is initialized to dbnull
 </summary>
 <param name="ParameterName">name of parameter (usually field name)</param>
 <param name="DataType">need to work on this to standarize</param>
 <param name="Size">size if appropriate (strings)</param>
 <returns>Data Parameter</returns>
</member>
<member name="M:WRDB.DBProviders.clsDBMySQL.CreateConnection">
 <summary>
 Creates a provider-specific connection object given previously specified properties as required (DataSource, DatabaseName, UserName, Password, etc.)
 Note that the connection is normally automatically created when you instantiate the class
 </summary>
</member>
<member name="M:WRDB.DBProviders.clsDBMySQL.CreateDatabase(System.String@)">
 <summary>
 Creates new database on the provider (uses supervisor access)
 </summary>
 <param name="DatabaseName">Desired name of new database</param>
 <returns>True if successful</returns>
</member>
<member name="M:WRDB.DBProviders.clsDBMySQL.GetColumnList(System.String)">
 <summary>
 Return a list of columns for this table (all fields are converted to UPPERCASE)
 </summary>
 <param name="TableName">Name of table</param> 
 <returns></returns>
 <remarks>Allow for possibility that database name is prepended to tablename</remarks>
</member>
<member name="M:WRDB.DBProviders.clsDBMySQL.GetIndexList(System.String)">
 <summary>
 Return list of indexed column for this table (all fields are converted to UPPERCASE)
 </summary>
 <param name="TableName">Name of table</param>
 <returns>List of indexed fields (not including RecID) or Nothing if error occurred</returns>
 <remarks>Allow for possibility that database name is prepended to tablename</remarks>
</member>
<member name="M:WRDB.DBProviders.clsDBMySQL.GetTable_ViewList(System.Boolean)">
 <summary>
 Return a list of tables or views for this project from both project database and temp database
 </summary>
 <returns>List of table or view names</returns>
</member>
<member name="M:WRDB.DBProviders.clsDBMySQL.GetTableList">
 <summary>
 Return a list of  tables for this project
 </summary>
 <returns>List of table names</returns>
</member>
<member name="M:WRDB.DBProviders.clsDBMySQL.GetViewList">
 <summary>
 Return a list of views for this project
 </summary>
 <returns>List of table names</returns>
</member>
<member name="M:WRDB.DBProviders.clsDBMySQL.GetRecordCount(System.String,System.Int32)">
 <summary>
 Determine the number of records in a table by starting a new thread
 </summary>
 <param name="TableName">Name of table</param>
 <returns>Number of records (if timeout occurs, will return -1)</returns>
 <param name="CommandTimeout">Number of seconds before timeout exception occurs (may be ignored by MySQL)</param>
 <remarks>Must override for Paradox</remarks>
</member>
<member name="M:WRDB.DBProviders.clsDBMySQL.TableExists(System.String)">
 <summary>
 Determine if table exists in the database
 </summary>
 <param name="TableName">Name of table</param>
 <returns>True if exists</returns>
 <remarks>Override for Paradox</remarks>
</member>
<member name="M:WRDB.DBProviders.clsDBMySQL.ViewExists(System.String)">
 <summary>
 Determine if view exists in the database
 </summary>
 <param name="ViewName">Name of view</param>
 <returns>True if exists</returns>
</member>
<member name="T:WRDB.DBProviders.clsDBOleDB">
 <summary>
 Base class for all OleDB providers (Access, Paradox, dBase, Excel, Text)
 </summary>
 <remarks></remarks>
</member>
<member name="M:WRDB.DBProviders.clsDBOleDB.Clone">
 <summary>
 Return a copy of the current generic connection
 </summary>
 <returns>Clone of current instance</returns>
</member>
<member name="T:WRDB.DBProviders.clsDBDBase">
 <summary>
 dBase III provider; not placed in seperate module because will not use as supported data type
 However, will use internally
 Note that this is not a supported data type because of some severe limitations in the driver:
 Field names less than or equal to 10 characters (violated by RCodes and Branches) and primary key limitations; 
 also, TIMESTAMP fields are not supported so only see date, not time; tried to implement ODBC in hopes of getting
 that feature, but it also doesn't support it.
 </summary>
</member>
<member name="M:WRDB.DBProviders.clsDBDBase.CreateConnection">
 <summary>
 Creates a provider-specific connection object given previously specified properties as required (DataSource, DatabaseName, UserName, Password, etc.)
 Note that the connection is normally automatically created when you instantiate the class
 </summary>
</member>
<member name="T:WRDB.DBProviders.clsDBExcel">
 <summary>
 Excel provider; not placed in seperate module because will not use as supported data type
 However, will use internally for fast export to Excel (with no formatting)
 </summary>
</member>
<member name="M:WRDB.DBProviders.clsDBExcel.CreateConnection">
 <summary>
 Creates a provider-specific connection object given previously specified properties as required (DataSource, DatabaseName, UserName, Password, etc.)
 Note that the connection is normally automatically created when you instantiate the class
 </summary>
</member>
<member name="T:WRDB.DBProviders.clsDBText">
 <summary>
 Text provider; not placed in seperate module because will not use as supported data type
 However, will use internally (well, maybe not--my text import/export is already very fast!)
 </summary>
</member>
<member name="M:WRDB.DBProviders.clsDBText.CreateConnection">
 <summary>
 Creates a provider-specific connection object given previously specified properties as required (DataSource, DatabaseName, UserName, Password, etc.)
 Note that the connection is normally automatically created when you instantiate the class
 </summary>
</member>
<member name="M:WRDB.DBProviders.clsDBText.GetColumnList(System.String)">
 <summary>
 Return a list of columns for this table (all fields are converted to UPPERCASE)
 </summary>
 <param name="TableName">Name of table</param> 
 <returns></returns>
 <remarks>This MUST be called to create the SCHEMA.INI file for proper reading of the table</remarks>
</member>
<member name="T:WRDB.DBProviders.clsDBCsv">
 <summary>
 Text provider; not placed in seperate module because will not use as supported data type
 However, will use internally (well, maybe not--my text import/export is already very fast!)
 </summary>
</member>
<member name="M:WRDB.DBProviders.clsDBCsv.CreateConnection">
 <summary>
 Creates a provider-specific connection object given previously specified properties as required (DataSource, DatabaseName, UserName, Password, etc.)
 Note that the connection is normally automatically created when you instantiate the class
 </summary>
</member>
<member name="M:WRDB.DBProviders.clsDBCsv.GetColumnList(System.String)">
 <summary>
 Return a list of columns for this table (all fields are converted to UPPERCASE)
 </summary>
 <param name="TableName">Name of table</param> 
 <returns></returns>
 <remarks>This MUST be called to create the SCHEMA.INI file for proper reading of the table</remarks>
</member>
<member name="T:WRDB.DBProviders.clsDBOracle">
 <summary>
 Oracle (note: added several overrides so doesn't have to rely on slow GetSchema calls)
 </summary>
 <remarks>The default administrative login is system/(no default pswd)</remarks>
</member>
<member name="M:WRDB.DBProviders.clsDBOracle.Clone">
 <summary>
 Return a copy of the current generic connection
 </summary>
 <returns>Clone of current instance</returns>
</member>
<member name="M:WRDB.DBProviders.clsDBOracle.CommandBuilder(System.Data.Common.DbDataAdapter)">
 <summary>
 Provider-independent access to CommandBuilder object
 </summary>
 <param name="da">Data adapter</param>
 <returns>CommandBuilder object specific to provider type</returns>
</member>
<member name="M:WRDB.DBProviders.clsDBOracle.DataAdapter(System.String)">
 <summary>
 Return a data adapter for the current connection containing data from sql string
 </summary>
 <param name="SqlString">standard sql string</param>
 <returns>Data Adapter</returns>
</member>
<member name="M:WRDB.DBProviders.clsDBOracle.Parameter(System.Data.Common.DbCommand@,System.String,System.Type,System.Int16)">
 <summary>
 Create a parameter (used to speed up queries and updates); value is initialized to dbnull
 </summary>
 <param name="ParameterName">name of parameter (usually field name)</param>
 <param name="DataType">need to work on this to standarize</param>
 <param name="Size">size if appropriate (strings)</param>
 <returns>Data Parameter</returns>
</member>
<member name="M:WRDB.DBProviders.clsDBOracle.CreateConnection">
 <summary>
 Creates a provider-specific connection object given previously specified properties as required (DataSource, DatabaseName, UserName, Password, etc.)
 Note that the connection is normally automatically created when you instantiate the class
 </summary>
</member>
<member name="M:WRDB.DBProviders.clsDBOracle.GetColumnList(System.String)">
 <summary>
 Return a list of columns for this table in the original order (all fields are converted to UPPERCASE)
 </summary>
 <param name="TableName">Name of table</param> 
 <returns></returns>
 <remarks>Override for Paradox</remarks>
</member>
<member name="M:WRDB.DBProviders.clsDBOracle.GetTable_ViewList(System.Boolean)">
 <summary>
 Return a list of tables or views for this project; for Oracle returns list of views in *USERS* schema, not that of database containing data
 Will need create view permissions in users schema, and must GRANT SELECT ON tablename TO username; in the database schema
 </summary>
 <returns>List of table names</returns>
</member>
<member name="M:WRDB.DBProviders.clsDBOracle.GetTableList">
 <summary>
 Return a list of tables for this project
 </summary>
 <returns>List of table names</returns>
</member>
<member name="M:WRDB.DBProviders.clsDBOracle.GetViewList">
 <summary>
 Return a list of views for this project
 </summary>
 <returns>List of table names</returns>
</member>
<member name="M:WRDB.DBProviders.clsDBOracle.GetIndexList(System.String)">
 <summary>
 Return list of indexed column for this table (all fields are converted to UPPERCASE)
 </summary>
 <param name="TableName">Name of table</param>
 <returns>List of indexed fields (not including RecID) or Nothing if error occurred</returns>
</member>
<member name="M:WRDB.DBProviders.clsDBOracle.GetReservedWords">
 <summary>
 Return a list of reserved words for this provider
 </summary>
</member>
<member name="T:WRDB.DBProviders.clsDBParadox">
 <summary>
 Paradox provider
 </summary>
 <remarks>
 Although this relies on OleDB, the BDE is still required to perform most functions (although my own library can be used to import from .DB without BDE)
 The BDE can be installed using two files in the Redist folder: BdeInst.dll and MiniReg.exe. To install BDE, add the following to the installer:
 [Run]
 Filename: {tmp}\MiniReg.exe; Parameters: """{tmp}\BdeInst.dll"""
 (or create a batch file to do the same thing)
 </remarks>
</member>
<member name="M:WRDB.DBProviders.clsDBParadox.CreateConnection">
 <summary>
 Creates a provider-specific connection object given previously specified properties as required (DataSource, DatabaseName, UserName, Password, etc.)
 Note that the connection is normally automatically created when you instantiate the class
 </summary>
</member>
<member name="M:WRDB.DBProviders.clsDBParadox.TableExists(System.String)">
 <summary>
 Determine if table exists in the database
 </summary>
 <param name="TableName">Name of table</param>
 <returns>True if exists</returns>
 <remarks>Override for Paradox</remarks>
</member>
<member name="M:WRDB.DBProviders.clsDBParadox.RenameTable(System.String,System.String,System.Data.DataTable)">
 <summary>
 Rename table in current project
 </summary>
 <param name="OldName">Name of existing table (must already exist)</param>
 <param name="NewName">New name for table (must not already exist)</param>
 <param name="dtTemplate">Only needed for Firebird override since it can't to a rename</param>
 <returns>True if successful</returns>
 <remarks>Must override for SQL Server, Access, and Firebird</remarks>
</member>
<member name="M:WRDB.DBProviders.clsDBParadox.CreateDatabase(System.String@)">
 <summary>
 Creates new database on the provider (uses supervisor access)
 </summary>
 <param name="DatabaseName">Desired name of new database</param>
 <returns>True if successful</returns>
</member>
<member name="M:WRDB.DBProviders.clsDBParadox.RepairDatabase(System.Boolean)">
 <summary>
 Perform database compaction/repair operation where supported
 </summary>
</member>
<member name="M:WRDB.DBProviders.clsDBParadox.GetTableList">
 <summary>
 Return a list of  tables for this project
 </summary>
 <returns>List of table names</returns>
</member>
<member name="M:WRDB.DBProviders.clsDBParadox.ImportTable(System.String@,System.String,System.Data.DataTable,System.Boolean,System.Boolean)">
 <summary>
 Import data from tab-delimited file into table; if table exists, will be emptied first (or updated), if not will be created
 The file format is assumed to be identical to the export format
 </summary>
 <param name="TableName">New table to import data into</param>
 <param name="ImportFileName">Tab-delimited text file to import data from</param>
 <param name="dtTemplate">Data table containing structure of table to import to</param> 
 <param name="Append_Update">If false, existing table will be emptied first; otherwise will be appended to or replaced on record-by-record basis (if indexed)</param>
 <param name="AppendOnly">If Append_Update is true and AppendOnly is true, will not replace existing records with new records (this is ignored for Paradox)</param>
 <returns>True if successful</returns>
</member>
<member name="M:WRDB.DBProviders.clsDBParadox.CreateParadoxFile(System.String,System.Data.DataTable)">
 <summary>
 Create an empty Paradox file of the proper schema
 </summary>
 <param name="PDoxFileName">Full path to paradox file to be create (existing file will be deleted)</param>
 <param name="dtTemplate">Schema</param>
 <returns>True if successful</returns>
 <remarks>This was created so can export to Paradox without BDE</remarks>
</member>
<member name="M:WRDB.DBProviders.clsDBParadox.ExportTable(System.String,System.String@,System.String,System.Boolean)">
 <summary>
 Create tab-delimited text file and export table to it
 </summary>
 <param name="TableName">Name of table to export</param>
 <param name="ExportFileName">Name of file to export to (if blank, will export to temp file and return name here; caller must place in clipboard and delete tempfile)</param>
 <returns>True if export successful</returns>
 <remarks>Override for Paradox</remarks>
</member>
<member name="M:WRDB.DBProviders.clsDBParadox.GetRecordCount(System.String,System.Int32)">
 <summary>
 Determine the number of records in a table
 </summary>
 <param name="TableName">Name of table</param>
 <returns>Number of records</returns>
 <remarks>Must override for Paradox</remarks>
</member>
<member name="M:WRDB.DBProviders.clsDBParadox.Proper(System.String)">
 <summary>
 Capitalize first character and any characters following a space,|,\,;,.,_,(
 </summary>
</member>
<member name="T:WRDB.DBProviders.clsDBSQLite">
 <summary>
 References System.Data.SQLite.dll
 SQLite open-source database (www.sqlite.org)
 See also http://sqlite.phxsoftware.com/ and http://system.data.sqlite.org
 This version will dynamically access either the 32- or 64-bit versions of the library
 </summary>
</member>
<member name="M:WRDB.DBProviders.clsDBSQLite.CreateInstance(System.String,System.Object[])">
 <summary>
 Dynamically create instance of object
 </summary>
 <param name="MemberName">Name of member to create</param>
 <param name="args">Arguments normally passed when instantiate with New</param>
 <returns>Instantiated member</returns>
</member>
<member name="M:WRDB.DBProviders.clsDBSQLite.Clone">
 <summary>
 Return a copy of the current generic connection
 </summary>
 <returns>Clone of current instance</returns>
</member>
<member name="M:WRDB.DBProviders.clsDBSQLite.CommandBuilder(System.Data.Common.DbDataAdapter)">
 <summary>
 Provider-independent access to CommandBuilder object
 </summary>
 <param name="da">Data adapter</param>
 <returns>CommandBuilder object specific to provider type</returns>
</member>
<member name="M:WRDB.DBProviders.clsDBSQLite.DataAdapter(System.String)">
 <summary>
 Return a data adapter for the current connection containing data from sql string
 </summary>
 <param name="SqlString">standard sql string</param>
 <returns>Data Adapter</returns>
</member>
<member name="M:WRDB.DBProviders.clsDBSQLite.Parameter(System.Data.Common.DbCommand@,System.String,System.Type,System.Int16)">
 <summary>
 Create a parameter (used to speed up queries and updates); value is initialized to dbnull
 </summary>
 <param name="ParameterName">name of parameter (usually field name)</param>
 <param name="DataType">need to work on this to standarize</param>
 <param name="Size">size if appropriate (strings)</param>
 <returns>Data Parameter</returns>
</member>
<member name="M:WRDB.DBProviders.clsDBSQLite.CreateConnection">
 <summary>
 Creates a provider-specific connection object given previously specified properties as required (DataSource, DatabaseName, UserName, Password, etc.)
 Note that the connection is normally automatically created when you instantiate the class
 </summary>
</member>
<member name="M:WRDB.DBProviders.clsDBSQLite.CreateDatabase(System.String@)">
 <summary>
 Creates new database on the provider (uses supervisor access)
 </summary>
 <param name="DatabaseName">Desired name of new database</param>
 <returns>True if successful</returns>
</member>
<member name="F:WRDB.DBProviders.clsDBSQLite._bwExecuteNonQuery">
 <summary>
 Background object for queries so UI doesn't appear to freeze
 </summary>
</member>
<member name="M:WRDB.DBProviders.clsDBSQLite.RepairDatabase(System.Boolean)">
 <summary>
 Perform database compaction/repair operation where supported
 </summary>
</member>
<member name="M:WRDB.DBProviders.clsDBSQLite.GetTable_ViewList(System.Boolean)">
 <summary>
 Return a list of tables or views for this project
 </summary>
 <returns>List of table or view names</returns>
</member>
<member name="M:WRDB.DBProviders.clsDBSQLite.GetTableList">
 <summary>
 Return a list of  tables for this project
 </summary>
 <returns>List of table names</returns>
</member>
<member name="M:WRDB.DBProviders.clsDBSQLite.GetViewList">
 <summary>
 Return a list of views for this project
 </summary>
 <returns>List of table names</returns>
</member>
<member name="T:WRDB.DBProviders.clsDBSQLServer">
 <summary>
 Microsoft SQL Server (and MSDE, Express, etc.)
 </summary>
 <remarks>The default administrative login is sa/(no default pswd)</remarks>
</member>
<member name="M:WRDB.DBProviders.clsDBSQLServer.Clone">
 <summary>
 Return a copy of the current generic connection
 </summary>
 <returns>Clone of current instance</returns>
</member>
<member name="M:WRDB.DBProviders.clsDBSQLServer.CommandBuilder(System.Data.Common.DbDataAdapter)">
 <summary>
 Provider-independent access to CommandBuilder object
 </summary>
 <param name="da">Data adapter</param>
 <returns>CommandBuilder object specific to provider type</returns>
</member>
<member name="M:WRDB.DBProviders.clsDBSQLServer.DataAdapter(System.String)">
 <summary>
 Return a data adapter for the current connection containing data from sql string
 </summary>
 <param name="SqlString">standard sql string</param>
 <returns>Data Adapter</returns>
</member>
<member name="M:WRDB.DBProviders.clsDBSQLServer.Parameter(System.Data.Common.DbCommand@,System.String,System.Type,System.Int16)">
 <summary>
 Create a parameter (used to speed up queries and updates); value is initialized to dbnull
 </summary>
 <param name="ParameterName">name of parameter (usually field name)</param>
 <param name="DataType">need to work on this to standarize</param>
 <param name="Size">size if appropriate (strings)</param>
 <returns>Data Parameter</returns>
</member>
<member name="M:WRDB.DBProviders.clsDBSQLServer.CreateConnection">
 <summary>
 Creates a provider-specific connection object given previously specified properties as required (DataSource, DatabaseName, UserName, Password, etc.)
 Note that the connection is normally automatically created when you instantiate the class
 </summary>
</member>
<member name="M:WRDB.DBProviders.clsDBSQLServer.CreateDatabase(System.String@)">
 <summary>
 Creates new database on the provider (uses supervisor access)
 </summary>
 <param name="DatabaseName">Desired name of new database</param>
 <returns>True if successful</returns>
</member>
<member name="T:WRDB.DBProviders.clsDBSQLServerCE">
 <summary>
 Microsoft SQL Server CE 4.0
 </summary>
 <remarks>
 References System.Data.SqlServerCe.dll
 Starting with version 4.0, supports GetSchema like all other providers and removed a few miscellaneous incompatibilities with SqlServer
 Remaining Limitations: 
 - file format has been changed from 3.5; see CreateConnection for work-around
 - does not support setting Command.Timeout to anything other than zero; CommandTimeout property in dbBase enforces this
 - does not support VARCHAR (must use NVARCHAR); GetFieldList in dbBase enforces this
 </remarks>
</member>
<member name="M:WRDB.DBProviders.clsDBSQLServerCE.Clone">
 <summary>
 Return a copy of the current generic connection
 </summary>
 <returns>Clone of current instance</returns>
</member>
<member name="M:WRDB.DBProviders.clsDBSQLServerCE.CommandBuilder(System.Data.Common.DbDataAdapter)">
 <summary>
 Provider-independent access to CommandBuilder object
 </summary>
 <param name="da">Data adapter</param>
 <returns>CommandBuilder object specific to provider type</returns>
</member>
<member name="M:WRDB.DBProviders.clsDBSQLServerCE.DataAdapter(System.String)">
 <summary>
 Return a data adapter for the current connection containing data from sql string
 </summary>
 <param name="SqlString">standard sql string</param>
 <returns>Data Adapter</returns>
</member>
<member name="M:WRDB.DBProviders.clsDBSQLServerCE.Parameter(System.Data.Common.DbCommand@,System.String,System.Type,System.Int16)">
 <summary>
 Create a parameter (used to speed up queries and updates); value is initialized to dbnull
 </summary>
 <param name="ParameterName">name of parameter (usually field name)</param>
 <param name="DataType">need to work on this to standarize</param>
 <param name="Size">size if appropriate (strings)</param>
 <returns>Data Parameter</returns>
</member>
<member name="M:WRDB.DBProviders.clsDBSQLServerCE.CreateConnection">
 <summary>
 Creates a provider-specific connection object given previously specified properties as required (DataSource, DatabaseName, UserName, Password, etc.)
 Note that the connection is normally automatically created when you instantiate the class
 </summary>
</member>
<member name="M:WRDB.DBProviders.clsDBSQLServerCE.CreateDatabase(System.String@)">
 <summary>
 Creates new database on the provider (uses supervisor access)
 </summary>
 <param name="DatabaseName">Desired name of new database</param>
 <returns>True if successful</returns>
</member>
<member name="F:WRDB.DBProviders.modDB.TempPath">
 <summary>
 Name of directory for temporary files (does NOT end with backslash)
 </summary>
</member>
<member name="M:WRDB.DBProviders.modDB.TestNull(System.Object,System.Object)">
 <summary>
 Test object; if dbnull, nothing or empty string, return default value
 </summary>
</member>
<member name="M:WRDB.DBProviders.modDB.ArrayToCSV(System.String[])">
 <summary>
 Create comma-separated value list from array of strings
 </summary>
 <param name="ar">Array of strings</param>
 <returns>CSV list</returns>
</member>
<member name="M:WRDB.DBProviders.modDB.ArrayToCSV(System.Collections.Generic.List{System.String})">
 <summary>
 Create comma-separated value list from list
 </summary>
 <param name="List">List of strings</param>
 <returns>CSV list</returns>
</member>
<member name="M:WRDB.DBProviders.modDB.FormatSQL(System.String)">
 <summary>
 Reformat SQL statement so it looks better in a dialog box
 </summary>
 <param name="Sql">SQL string to be formatted</param>
</member>
<member name="M:WRDB.DBProviders.modDB.MyDateTimeFormat">
 <summary>
 Given date-time value return short date-time format string that obeys culture preferences (for US, gives MM/dd/yyyy HH:mm)
 </summary>
 <returns></returns>
 <remarks></remarks>
</member>
<member name="M:WRDB.DBProviders.modDB.MyDateFormat">
 <summary>
 Given date-time value return short date format string that obeys culture preferences (for US, gives MM/dd/yyyy HH:mm)
 </summary>
 <returns></returns>
 <remarks></remarks>
</member>
<member name="T:WRDB.DBProviders.modParadox">
 <summary>
 This module was created to provide direct read and write access to Paradox tables, thus bypassing the very slow Paradox access inherent in ADO.Net
 The class ignores all indices; when reading from a table the records are processed sequentially and the indices are ignored;
 When writing to a table, it must already exist and must contain no indices. The performance improvement is remarkable; what used to take 15 minutes not takes only seconds
 Note: not able to distinguish between NULL numeric fields and value or 0 or 0.00; when importing will always return values of 0
 </summary>
 <remarks></remarks>
</member>
<member name="T:WRDB.DBProviders.modParadox.FldInfoRec">
 <summary>
 field information record used in TPxHeader below
 </summary>
 <remarks></remarks>
</member>
<member name="T:WRDB.DBProviders.modParadox.PDoxHeader">
 <summary>
 This is the static portion of the header (fixed size); it can be accessed in one fell swoop
 </summary>
 <remarks></remarks>
</member>
<member name="T:WRDB.DBProviders.modParadox.PDoxHeader2">
 <summary>
 This section of the header is variable sized and must be read/written one field at a time
 </summary>
 <remarks></remarks>
</member>
<member name="T:WRDB.DBProviders.modParadox.PDoxDataBlock">
 <summary>
 data blocks begin at offset headerSize and are 1024, 2048, etc. bytes in size; the first block number is 1
 </summary>
</member>
<member name="F:WRDB.DBProviders.modParadox.mItems">
 <summary>
 Used to store record items as they are read from the database file
 </summary>
</member>
<member name="M:WRDB.DBProviders.modParadox.InitializeHeader(System.String,System.Collections.Generic.List{WRDB.DBProviders.clsParadoxField},WRDB.DBProviders.modParadox.PDoxHeader@,WRDB.DBProviders.modParadox.PDoxHeader2@)">
 <summary>
 Initialize header for creating Paradox file without BDE
 </summary>
 <param name="TableName">Filename without path (but including .DB)</param>
 <param name="FieldList">Field descriptions</param>
 <remarks>Values inferred from observation of reading .db file created by Paradox; commented fields were non-zero but can probably be zero</remarks>
</member>
<member name="M:WRDB.DBProviders.modParadox.GetHeader(System.IO.BinaryReader@,WRDB.DBProviders.modParadox.PDoxHeader@,WRDB.DBProviders.modParadox.PDoxHeader2@)">
 <summary>
 Read file header into memory
 </summary>
 <param name="br">Binary reader instance</param>
 <param name="Hdr">Static header</param>
 <param name="Hdr2">Variable header</param>
</member>
<member name="M:WRDB.DBProviders.modParadox.ItemIn(System.Object,System.Object[])">
 <summary>
 See if target is found within list of items
 Usage: ItemIn("B","A","B","C") results in True
 </summary>
</member>
<member name="M:WRDB.DBProviders.clsParadoxField.#ctor(System.String,WRDB.DBProviders.modParadox.enumFieldType,System.Int32)">
 <summary>
 Initialize Paradox field specification
 </summary>
 <param name="_fName">Field Name</param>
 <param name="_fType">Field Type</param>
 <param name="_fSize">Field Length (Alpha fields only)</param>
 <remarks></remarks>
</member>
<member name="T:WRDB.DBProviders.My.Resources.Resources">
<summary>
  A strongly-typed resource class, for looking up localized strings, etc.
</summary>
</member>
<member name="P:WRDB.DBProviders.My.Resources.Resources.ResourceManager">
<summary>
  Returns the cached ResourceManager instance used by this class.
</summary>
</member>
<member name="P:WRDB.DBProviders.My.Resources.Resources.Culture">
<summary>
  Overrides the current thread's CurrentUICulture property for all
  resource lookups using this strongly typed resource class.
</summary>
</member>
</members>
</doc>
